package com.fxd.controller;

import com.fxd.exception.SysException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * @auther fuxudong
 * @date 2021/2/5 - 10:52
 */
@Controller
@RequestMapping("user")
public class userController {

    @RequestMapping("exception")
    public String exception() throws Exception {

        try {
            int i = 1 / 0;
        } catch (Exception e) {
            e.printStackTrace();
            //抛出自定义异常信息
            throw new SysException("服务器正忙");
        }

        return "success";
    }

    /**
    拦截器和过滤器的区别：
    1，过滤器是 servlet 规范中的一部分，任何 java web 工程都可以使用。
    2，拦截器是 SpringMVC 框架自己的，只有使用了 SpringMVC 框架的工程才能用。
    1，过滤器在 url-pattern 中配置了/*之后，可以对所有要访问的资源拦截。
    2，拦截器它是只会拦截访问的控制器方法，如果访问的是 jsp，html,css,image 或者 js 是不会进行拦
    截的。
     */
    @RequestMapping("interceptor")
    public ModelAndView interceptor(ModelAndView mv) {
        System.out.println("控制器方法执行");
        mv.addObject("msg", "格式不正确");
        mv.setViewName("success");
        return mv;
    }
}
